using DocumentCreationSystem.Models;

namespace DocumentCreationSystem.Services
{
    /// <summary>
    /// 自主规划服务接口
    /// </summary>
    public interface IAutonomousPlanningService
    {
        /// <summary>
        /// 规划并执行
        /// </summary>
        /// <param name="userRequest">用户请求</param>
        /// <param name="projectId">项目ID</param>
        /// <param name="progressCallback">进度回调</param>
        /// <returns>规划结果</returns>
        Task<Models.AutonomousPlanResult> PlanAndExecuteAsync(
            string userRequest,
            string? projectId = null,
            IProgress<(int progress, string message)>? progressCallback = null,
            string? preferredSaveRootPath = null);
    }

}
